package com.sinog.front.controller.biz;

import com.sinog.core.utilbean.Result;
import com.sinog.front.config.log.Log;
import com.sinog.front.feign.biz.VolunteerManageService;
import com.sinog.front.service.user.UserFacade;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;

/**
 * @desc 安帮工作资源管理 - 安帮工作资源管理 - 志愿者信息管理 - 志愿者信息管理 - VolunteerManageController
 * @author -
 * @date -
 */
@RestController
public class VolunteerManageController {

    @Autowired
    private VolunteerManageService volunteerManageService;
    @Autowired
    private UserFacade userService;

    /**
     * 安帮工作资源管理 - 安帮工作资源管理 - 志愿者信息管理 - 志愿者信息管理 - 列表
     * @param pageIndex 页码
     * @param pageSize 每页条数
     * @param querykey 查询条件
     * @return String
     */
    @RequestMapping("/azbj/zyzxxgl/volunteerInfoManage/list")
    public String getVolunteerList(Integer pageIndex,Integer pageSize,
                                   @RequestParam(required = false, defaultValue = "-1") String querykey) {
        String departId = userService.getAuthentication().getDepartid();
        return volunteerManageService.getVolunteerInfoList(pageIndex,pageSize,querykey,departId);
    }

    /**
     * 安帮工作资源管理 - 安帮工作资源管理 - 志愿者信息管理 - 志愿者信息管理 - （修改/新增）
     * @param request request
     * @param data data
     * @return Result
     */
    @Log(type = "新增", value = "保存志愿者信息（修改/新增）")
    @PostMapping("/azbj/zyzxxgl/volunteerInfoManage/save")
    public Result saveVolunteerInfo(HttpServletRequest request,
                                    @RequestParam(required = false, defaultValue = "-1") String data) {
        return volunteerManageService.saveVolunteerInfo(data);
    }

    /**
     * 安帮工作资源管理 - 安帮工作资源管理 - 志愿者信息管理 - 志愿者信息管理 - 删除
     * @param request request
     * @param id id
     * @return Result
     */
    @Log(type = "删除", value = "删除志愿者信息")
    @DeleteMapping("/azbj/zyzxxgl/volunteerInfoManage/delete/{id}")
    public Result deleteVolunteerInfo(HttpServletRequest request,@PathVariable String id) {
        return volunteerManageService.deleteVolunteerInfo(id);
    }

    /**
     * 安帮工作资源管理 - 安帮工作资源管理 - 志愿者信息管理 - 志愿者信息管理 - 查看
     * @param id id
     * @return Result
     */
    @GetMapping("/azbj/zyzxxgl/volunteerInfoManage/selectById")
    public Result selectVolunteerInfo(@RequestParam(required = false, defaultValue = "-1")String id) {
        return volunteerManageService.selectVolunteerInfo(id);
    }
}